import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters.js'
import mutations from './mutations.js'
import actions from './actions.js'
import a from './a'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 保存状态的地方
    // 单一状态树-单一数据源  只使用一个store对象，方便寻找状态
    // 提前初始化的数据是被 Vue 进行响应式管理的
    // 对象的属性不会被响应式管理
    counter: 0,
    info: {
      age: 18
    }
  },
  getters,
  // 通常情况下 Vuex 会要求这里的方法是同步的, 因为这里修改代码需要被 devtools 监听
  mutations,
  actions,
  modules: { // 模块管理
    a
  }
})
